package org.linloong.modules.apis.monitor.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

@Data
@TableName("t_phenology_plus_data")
@Schema(name = "PhenologyPlusData", description = "物候+数据实体（对应文档\"物候+接口\"章节Response）")
public class PhenologyPlusData {
    @TableId(type = IdType.ASSIGN_UUID)
    @Schema(description = "自定义主键（UUID）", example = "123e4567-e89b-12d3-a456-426614174006")
    private String id;

    @Schema(description = "文档中返回的\"id\"字段（无实际意义，备用）", example = "1005")
    private String apiId;

    @Schema(description = "设备ID（仅\"物候+\"设备）", example = "ZW202311") // 文档2.5版本新增物候+接口
    private String deviceId;

    @Schema(description = "数据时间戳（文档中\"timestamp\"字段，Unix毫秒级）", example = "1592271960000")
    private Long timestamp;

    @Schema(description = "NDVI指数（文档中\"ndvi\"字段）", example = "0.68")
    private Float ndvi;

    @Schema(description = "可见光图片路径（文档中\"originalImagePath\"字段）", example = "https://oss.example.com/vis/5.jpg")
    private String originalImagePath;

    @Schema(description = "非可见光图片路径（文档中\"processedImagePath\"字段）", example = "https://oss.example.com/nvis/5.jpg")
    private String processedImagePath;

    @Schema(description = "比值绿度指数（文档中\"ratioGreenness\"字段）", example = "0.74")
    private Float ratioGreenness;

    @Schema(description = "相对绿度指数（文档中\"greenChromatic\"字段）", example = "0.61")
    private Float greenChromatic;

    @Schema(description = "相对红度指数（文档中\"redChromatic\"字段）", example = "0.31")
    private Float redChromatic;

    @Schema(description = "绝对绿度指数（文档中\"greenExcess\"字段）", example = "0.27")
    private Float greenExcess;

    @Schema(description = "绿红植被指数（文档中\"greenRedVegetation\"字段）", example = "0.42")
    private Float greenRedVegetation;

    @Schema(description = "色相（文档中\"hue\"字段）", example = "121.0")
    private Float hue;
}